//package ;
//
//import lombok.extern.slf4j.Slf4j;
//import org.apache.commons.lang3.StringUtils;
//import org.aspectj.lang.ProceedingJoinPoint;
//import org.aspectj.lang.annotation.Around;
//import org.aspectj.lang.annotation.Aspect;
//import org.aspectj.lang.annotation.Pointcut;
//import org.aspectj.lang.reflect.MethodSignature;
//import org.springframework.stereotype.Component;
//
//import java.lang.reflect.Method;
//
//@Aspect
//@Component
//@Slf4j
//public class TryCatchAspect {
//
//    @Pointcut("@annotation(com.tqyan.model.anno.TryCatch)")
//    public void pointCut() {}
//
//    @Around("pointCut()")
//    public Object around(ProceedingJoinPoint point) throws Throwable {
//        Method method = ((MethodSignature) point.getSignature()).getMethod();
//        Object[] args = point.getArgs();
//        TryCatch tryCatch = method.getAnnotation(TryCatch.class);
//        try {
//            return point.proceed();
//        } catch (Throwable e) {
//            log.error("[{}] method={}, args={}, 执行失败, {}"
//                    , tryCatch.logMark(), point.getTarget().getClass().getName() + "." + method.getName(), args
//                    , e.getMessage(), e);
//            for (Class<? extends Throwable> messageFor : tryCatch.originalInfo()) {
//                if (e.getClass().toString().equals(messageFor.toString())) {
//                    return DubboResult.fail(e.getMessage());
//                }
//            }
//            if (StringUtils.isNotBlank(tryCatch.message())) {
//                return DubboResult.fail(tryCatch.code(), tryCatch.message());
//            }
//            return DubboResult.fail(e.getMessage());
//        }
//    }
//
//}
//
//
